|
Java Native Access (JNA) とは、JavaプログラムがJava Native Interfaceを用いずにネイティブの共有ライブラリにアクセスする方法を提供するライブラリである。JNA は最小限の作業でネイティブコードにアクセスできることを目指して設計されており、決まりきったアクセスコードを書いたりグルーコードの生成を行ったりせず、ネイティブコードへ正しく簡単にアクセスすることを最優先としている(ただし、性能にも注意が払われている)。JNAライブラリはネイティブコードを呼び出すためにlibffiを用いており、名前を指定してライブラリをロードするネイティブの関数を用いて、目的のライブラリ関数の関数ポインタを取得する。ネイティブコードにアクセスする過程で静的なバインディング、ヘッダファイル、またコンパイルは必要ない。アプリケーションの開発者はJavaのインターフェイスを用いて対象のネイティブライブラリの関数や構造体を記述する。これによって、JNIコードを記述しビルドする大きな労力をかけずにきわめて簡単にネイティブプラットフォームの機能を利用することができる。 == JNA の採用例 == *JRuby - JNAをPOSIX機能の提供に使用〔Java Native Access + JRuby = True POSIX 〕〔JNA brings native code to JRuby 〕 *Freedom for Media in Java (FMJ)〔Freedom for Media in Java 〕 *IntelliJ IDEA - JetBrains社の統合開発環境 *SVNKit - Pure JavaによるSubversionクライアントライブラリ *Videolan - JavaによるマルチメディアライブラリVLCJに使用 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Java Native Access」の詳細全文を読む スポンサード リンク
|